#include <vcl.h>
#include "Cilindro.h"

#pragma package(smart_init)

Cilindro::Cilindro( float rBase , float rCima, float alto, int nLados, float nSecciones  ){
    numeroLados = nLados;
    radioBase = rBase;
    radioCima = rCima;
    altura = alto;
    numeroSecciones = nSecciones;
}

Cilindro::~Cilindro(){
    gluDeleteQuadric(cuadrica);
}

void Cilindro::dibujar() {
    //Coger matriz actual
    GLfloat mm[16];
    glGetFloatv(GL_MODELVIEW_MATRIX,mm);
    TAfin* m = new TAfin(mm);
    glColor3f(color.getR()/255, color.getG()/255, color.getB()/255);
    // Aplicar matriz de transformacion
    glPushMatrix();
      m->postMultiplicar(marco);
      glLoadMatrixf(m->mat);

      gluQuadricDrawStyle(cuadrica, GLU_FILL);
      gluCylinder(cuadrica, radioBase, radioCima, altura, numeroLados, numeroSecciones);
    glPopMatrix();

}
